home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / if_shaper.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  2KB  |  65 lines

  1. #ifndef __LINUX_SHAPER_H
  2. #define __LINUX_SHAPER_H
  3.  
  4. #ifdef __KERNEL__
  5.  
  6. #define SHAPER_QLEN    10
  7. /*
  8.  *    This is a bit speed dependent (read it shouldn't be a constant!)
  9.  *
  10.  *    5 is about right for 28.8 upwards. Below that double for every
  11.  *    halving of speed or so. - ie about 20 for 9600 baud.
  12.  */
  13. #define SHAPER_LATENCY    (5*HZ)
  14. #define SHAPER_MAXSLIP    2
  15. #define SHAPER_BURST    (HZ/50)        /* Good for >128K then */
  16.  
  17. struct shaper
  18. {
  19.     struct sk_buff_head sendq;
  20.     __u32 bytespertick;
  21.     __u32 bitspersec;
  22.     __u32 shapelatency;
  23.     __u32 shapeclock;
  24.     unsigned long recovery;    /* Time we can next clock a packet out on
  25.                    an empty queue */
  26.         unsigned long locked;
  27.         struct net_device_stats stats;
  28.     struct net_device *dev;
  29.     int  (*hard_start_xmit) (struct sk_buff *skb,
  30.         struct net_device *dev);
  31.     int  (*hard_header) (struct sk_buff *skb,
  32.         struct net_device *dev,
  33.         unsigned short type,
  34.         void *daddr,
  35.         void *saddr,
  36.         unsigned len);
  37.     int  (*rebuild_header)(struct sk_buff *skb);
  38.     int (*hard_header_cache)(struct neighbour *neigh, struct hh_cache *hh);
  39.     void (*header_cache_update)(struct hh_cache *hh, struct net_device *dev, unsigned char *  haddr);
  40.     struct net_device_stats* (*get_stats)(struct net_device *dev);
  41.     wait_queue_head_t  wait_queue;
  42.     struct timer_list timer;
  43. };
  44.  
  45. #endif
  46.  
  47. #define SHAPER_SET_DEV        0x0001
  48. #define SHAPER_SET_SPEED    0x0002
  49. #define SHAPER_GET_DEV        0x0003
  50. #define SHAPER_GET_SPEED    0x0004
  51.  
  52. struct shaperconf
  53. {
  54.     __u16    ss_cmd;
  55.     union
  56.     {
  57.         char     ssu_name[14];
  58.         __u32    ssu_speed;
  59.     } ss_u;
  60. #define ss_speed ss_u.ssu_speed
  61. #define ss_name ss_u.ssu_name
  62. };
  63.  
  64. #endif
  65.